// Framework: None
// Technology stack: None

#include <iostream>
#include <vector>
#include <string>

int main() {
    std::string words;
    std::cout << "Введите несколько слов, разделенных пробелом: ";
    std::getline(std::cin, words);

    std::vector<std::string> x;
    std::string word;
    for (int i = 0; i < words.size(); i++) {
        if (words[i] == ' ') {
            x.push_back(word);
            word = "";
        } else {
            word += words[i];
        }
    }
    x.push_back(word);

    int r = 0;
    int d = 0;
    int i = 0;
    int u = 0;
    int h = 0;
    std::string c = "";
    int p = 0;

    if (x.size() <= 1) {
        std::cout << "Мало данных для анализа" << std::endl;
    } else {
        for (const std::string& word : x) {
            r++;

            if (!word.empty() && isupper(word[0]) && 'А' <= word[0] && word[0] <= 'Я') {
                d++;
            }
            if (std::any_of(word.begin(), word.end(), [](char c) { return std::isalpha(c) && 'a' <= std::tolower(c) && c <= 'z'; })) {
                i++;
            }
            if (word.size() <= 3) {
                u++;
            }
            if (word.find('-') != std::string::npos) {
                h++;
            }
            if (word.size() > p) {
                p = word.size();
                c = word;
            }
        }

        std::cout << "Кол-во слов: " << r << std::endl;
        std::cout << "Кол-во слов с заглавной кириллической буквы: " << d << std::endl;
        std::cout << "Кол-во слов содержащих латинский символ: " << i << std::endl;
        std::cout << "Кол-во слов не превышающих 3 символа: " << u << std::endl;
        std::cout << "Кол-во слов в составе которых имеется дефис: " << h << std::endl;
        std::cout << "Самое длинное слово: " << c << std::endl;
        std::cout << "Длина слова: " << p << std::endl;
    }

    return 0;
}